/**
 * @particulars 构建Vue
 */

import { initGlobalAPI } from "./gloablApi";
import { initMixin } from "./init";
import { initLifeCycle } from "./lifecycle";
import { initStateMixin } from "./state";

// Vue 的构造函数，options 为选项参数
function Vue(options) {
  this._init(options);
}

initMixin(Vue); // 扩展_init 初始化方法
initLifeCycle(Vue); // 扩展生命周期钩子
initGlobalAPI(Vue) // 扩展全局api
initStateMixin(Vue); // 扩展nextTick、$watch

export default Vue